home *** CD-ROM | disk | FTP | other *** search
-
-
-
- iiiillllPPPPoooollllyyyyWWWWaaaarrrrpppp((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllPPPPoooollllyyyyWWWWaaaarrrrpppp((((3333))))
-
-
-
- NNNNAAAAMMMMEEEE
- iiiillllPPPPoooollllyyyyWWWWaaaarrrrpppp - two-dimensional 7-th degree warp
-
- IIIINNNNHHHHEEEERRRRIIIITTTTSSSS FFFFRRRROOOOMMMM
- ilWarp
-
- HHHHEEEEAAAADDDDEEEERRRR FFFFIIIILLLLEEEE
- #include <il/ilCdefs.h>
-
- CCCCLLLLAAAASSSSSSSS DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- ilPolyWarp manages a two-dimensional n-th degree warp, where 1 <= n <= 7.
-
- AAAAddddddddrrrreeeessssssss TTTTrrrraaaannnnssssffffoooorrrrmmmmaaaattttiiiioooonnnn
- The output image space is mapped to the input image space with an address
- transform defined by two n-th degree polynomials (one for each spatial
- dimension). The structure _i_l_P_o_l_y_2_D (declared in <il/ilPolyDef.h>)
- defines the degree and coefficients for both polynomials; the field names
- are:
-
- ilPoly2D xc;
- ilPoly2D yc;
-
-
- The structure ilPoly2D has the following field names:
-
- int degree;
- struct ilPolyCoeff2D c;
-
-
- The _d_e_g_r_e_e field specifies the degree of the warp (one to seven).
-
- The structure ilPolyCoeff2D has the following fields:
-
- con,
- y, x,
- y2, xy, x2,
- y3, xy2, x2y, x3,
- y4, xy3, x2y2, x3y, x4,
- y5, xy4, x2y3, x3y2, x4y, x5,
- y6, xy5, x2y4, x3y3, x4y2, x5y, x6,
- y7, xy6, x2y5, x3y4, x4y3, x5y2, x6y, x7
-
-
- Depending on the degree, not all the fields of _i_l_P_o_l_y_C_o_e_f_f_2_D need to be
- specified. The seventh-degree address transform is implemented by the
- equations:
-
- I(x) = cx.c.con + cx.c.y*y + cx.c.x*x + cx.c.y2*y^2 +
- cx.c.xy*x*y + cx.c.x2*x^2 + cx.c.y3*y^3 +
- cx.c.xy2*x*y^2 + cx.c.x2y*x^2*y + cx.c.x3*x^3 +
- cx.c.y4*y^4 + cx.c.xy3*x*y^3 + cx.c.x2y2*x^2*y^2 +
- cx.c.x3y*x^3*y + cx.c.x4*x^4 + cx.c.y5*y^5 +
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- iiiillllPPPPoooollllyyyyWWWWaaaarrrrpppp((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllPPPPoooollllyyyyWWWWaaaarrrrpppp((((3333))))
-
-
-
- cx.c.xy4*x*y^4 + cx.c.x2y3*x^2*y^3 + cx.c.x3y2*x^3*y^2 +
- cx.c.x4y*x^4*y + cx.c.x5*x^5 + cx.c.y6*y^6 +
- cx.c.xy5*x*y^5 + cx.c.x2y4 + cx.c.x3y3*x^3*y^3 +
- cx.c.x4y2*x^4*y^2 + cx.c.x5y*x^5*y + cx.c.x6*x^6 +
- cx.c.y7*y^7 + cx.c.xy6*x*y^6 + cx.c.x2y5*x^2*y^5 +
- cx.c.x3y4*x^3*y^4 + cx.c.x4y3*x^4*y^3 +
- cx.c.x5y2*x^5*y^2 + cx.c.x6y*x^6*y + cx.c.x7*x^7
-
- I(y) = cy.c.con + cy.c.y*y + cy.c.x*x + cy.c.y2*y^2 +
- cy.c.xy*x*y + cy.c.x2*x^2 + cy.c.y3*y^3 +
- cy.c.xy2*x*y^2 + cy.c.x2y*x^2*y + cy.c.x3*x^3 +
- cy.c.y4*y^4 + cy.c.xy3*x*y^3 + cy.c.x2y2*x^2*y^2 +
- cy.c.x3y*x^3*y + cy.c.x4*x^4 + cy.c.y5*y^5 +
- cy.c.xy4*x*y^4 + cy.c.x2y3*x^2*y^3 + cy.c.x3y2*x^3*y^2 +
- cy.c.x4y*x^4*y + cy.c.x5*x^5 + cy.c.y6*y^6 +
- cy.c.xy5*x*y^5 + cy.c.x2y4 + cy.c.x3y3*x^3*y^3 +
- cy.c.x4y2*x^4*y^2 + cy.c.x5y*x^5*y + cy.c.x6*x^6 +
- cy.c.y7*y^7 + cy.c.xy6*x*y^6 + cy.c.x2y5*x^2*y^5 +
- cy.c.x3y4*x^3*y^4 + cy.c.x4y3*x^4*y^3 +
- cy.c.x5y2*x^5*y^2 + cy.c.x6y*x^6*y + cy.c.x7*x^7
-
-
- where cx and cy are the coefficient vectors for x and y, respectively.
- Once again, depending on the degree, not all the fields of cx and cy need
- to be specified. This polynomial defines the mapping from output image
- coordinates to input image coordinates, that is, I(x) and I(y) define the
- address in the input image space.
-
- CCCCLLLLAAAASSSSSSSS MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN SSSSUUUUMMMMMMMMAAAARRRRYYYY
- CCCCoooonnnnssssttttrrrruuuuccccttttoooorrrr
-
- ilPolyWarp* ilPolyWarpCreate(const ilPoly2D* xCoeff, const ilPoly2D* yCoeff)
- ilPolyWarp* ilPolyWarp1(const ilAffine2D* xCoeff, const ilAffine2D* yCoeff)
- ilPolyWarp* ilPolyWarpDegree(int degree)
- ilPolyWarp* ilPolyWarpAffine(const ilAffineWarp* affine)
-
- GGGGeeeetttt////sssseeeetttt mmmmeeeetttthhhhooooddddssss
-
- void ilPolyWarpInit(ilPolyWarp *obj, const ilPoly2D* xCoeff,
- const ilPoly2D* yCoeff)
- void ilPolyWarpIlPolyWarp1Init(ilPolyWarp *obj, const ilAffine2D* xCoeff,
- const ilAffine2D* yCoeff)
- void ilPolyWarpSetDegree(ilPolyWarp *obj, int degree)
- int ilPolyWarpGetDegree(ilPolyWarp *obj)
- const ilPoly2D* ilPolyWarpGetCoeffX(ilPolyWarp *obj)
- const ilPoly2D* ilPolyWarpGetCoeffY(ilPolyWarp *obj)
-
-
- FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNNSSSS
- iiiillllPPPPoooollllyyyyWWWWaaaarrrrpppp(((())))
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- iiiillllPPPPoooollllyyyyWWWWaaaarrrrpppp((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllPPPPoooollllyyyyWWWWaaaarrrrpppp((((3333))))
-
-
-
- ilPolyWarp* ilPolyWarp1(const ilAffine2D* xCoeff, const ilAffine2D* yCoeff)
- ilPolyWarp* ilPolyWarpAffine(const ilAffineWarp* affine)
- ilPolyWarp* ilPolyWarpCreate(const ilPoly2D* xCoeff, const ilPoly2D* yCoeff)
- ilPolyWarp* ilPolyWarpDegree(int degree)
-
-
- Construct and initialize a new ilPolyWarp object. Convenience
- constructors allow the object to be initialized with affine warp
- coefficients.
-
- ggggeeeettttCCCCooooeeeeffffffffXXXX(((())))
-
- const ilPoly2D& ilPolyWarpGetCoeffX(ilPolyWarp *obj)
-
-
- Return the coefficients for the x warp polynomial.
-
- ggggeeeettttCCCCooooeeeeffffffffYYYY(((())))
-
- const ilPoly2D& ilPolyWarpGetCoeffY(ilPolyWarp *obj)
-
-
- Return the coefficients for the y warp polynomial.
-
- ggggeeeettttDDDDeeeeggggrrrreeeeeeee(((())))
-
- int ilPolyWarpGetDegree(ilPolyWarp *obj)
-
-
- Return the degree of the warp. It is defined to be the maximum of
- the degrees of the two member polynomials.
-
- iiiinnnniiiitttt(((())))
-
- void ilPolyWarpIlPolyWarp1Init(ilPolyWarp *obj, const ilAffine2D* xCoeff,
- const ilAffine2D* yCoeff)
- void ilPolyWarpInit(ilPolyWarp *obj, const ilPoly2D* xCoeff,
- const ilPoly2D* yCoeff)
-
-
- Initialize the coefficients of the polynomial. If affine
- coefficients are provided, then the degree is set to one.
- Otherwise, the degree is set to the degree of the passed polynomial
- structures.
-
- sssseeeettttDDDDeeeeggggrrrreeeeeeee(((())))
-
- void ilPolyWarpSetDegree(ilPolyWarp *obj, int degree)
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-
-
-
- iiiillllPPPPoooollllyyyyWWWWaaaarrrrpppp((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllPPPPoooollllyyyyWWWWaaaarrrrpppp((((3333))))
-
-
-
- Set the degree of the polynomial. This method is usually followed
- by a call to the infer method on ilWarp to determine the polynomial
- coefficients.
-
- IIIINNNNHHHHEEEERRRRIIIITTTTEEEEDDDD MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNNSSSS
- IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllWWWWaaaarrrrpppp
- ilWarpCompose(), ilWarpCopy(), ilWarpDx(), ilWarpDy(), ilWarpDz(),
- ilWarpEval3D(), ilWarpEval(), ilWarpEvalVector(), ilWarpFindRoot(),
- ilWarpGetBBox2D(), ilWarpGetBBox(), ilWarpIdentity(), ilWarpInfer(),
- ilWarpInvert(), ilWarpMinimumNumberOfTies(), ilWarpX(), ilWarpY(),
- ilWarpZ()
-
- IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllWWWWaaaattttcccchhhheeeeddddOOOObbbbjjjjeeeecccctttt
- addWatchCallback(), doWatchCallbacks(), removeWatchCallback()
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO iiiillllWWWWaaaarrrrpppp,,,, iiiillllAAAAffffffffiiiinnnneeeeWWWWaaaarrrrpppp,,,, iiiillllPPPPoooollllyyyyDDDDeeeeffff....hhhh
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 4444
-
-
-
-
-
-
-